﻿using System;
using RayDen.Library.Core;
using RayDen.Library.Core.Primitives;
using RayDen.Library.Entity.Interface;

namespace RayDen.Library.Components {
    public class PerspectiveCamera : ICamera {

        #region ICamera Members

        public Point Position
        {
            get;set;
        }

        public Vector Target {
            get;set;
        }

        public Vector Right {
            get;set;
        }

        public Vector Up {
            get;set;
        }

        public Vector Look { get; set; }

        public float Fov { get; set; }

        public float ZNear { get; set; }

        public float ZFar {
            get; set; }

        #endregion

        #region ICamera Members


        public void LookAt(Point vector, Point vector_2, Vector vector_3)
        {
            throw new NotImplementedException();
        }

        public void GetRay(double x, double y, out IRay cameraRay) {
            throw new NotImplementedException();
        }

        #endregion


        public void Sample(float x, float y, float u0, float u1, float u2, out IRay ray, out float pdf)
        {
            throw new NotImplementedException();
        }
    }
}